package com.hyt.it.ogt.kq.service.gov.model.vo.admission;

import com.hyt.core.base.BaseEntity;
import com.hyt.it.ogt.kq.service.model.entity.admission.AdmissionTicketInfo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 准考证定义表
 * </p>
 *
 * @author yanghuankun@talkweb.com.cn
 * @since 2023-01-10
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "准考证任务", description = "准考证定义表")
public class AdmissionTicketInfoVO extends BaseEntity {

    @ApiModelProperty(value = "准考证模板id")
    private String admissionTicketTemplateId;

    @ApiModelProperty(value = "模板类型 1、标准模板一，2、标准模板二，3、自定义模板")
    private Integer admissionTicketTemplateType;

    @ApiModelProperty(value = "准考证名称")
    private String admissionTicketName;

    @ApiModelProperty(value = "准考证数据来源 1、无考场，2、虚拟考场")
    private Integer admissionTicketDataSource;

    @ApiModelProperty(value = "考试id")
    private String examId;

    @ApiModelProperty(value = "考试名称")
    private String examName;

    @ApiModelProperty(value = "归档状态")
    private Boolean archiveStatus;

    @ApiModelProperty(value = "发布状态")
    private Boolean publishStatus;

    @ApiModelProperty(value = "科目设置 1-单科目生成 2-多科目生成")
    private Integer subjectSetting;

    @ApiModelProperty(value = "是否已经生成准考证数据 true-是 false-否")
    private Boolean isGeneratedTicket;

    @ApiModelProperty(value = "待生成总数")
    private Integer totalNum;

    @ApiModelProperty(value = "已经生成数量")
    private Integer createdNum;

    @ApiModelProperty(value = "未生成数量")
    private Integer surplusNum;

    @ApiModelProperty(value = "考生须知")
    private String examAgreement;

    @ApiModelProperty(value = "是否保存自定义模板 false-未保存 true-保存")
    private Boolean isSaveCustomTemplate;

    public AdmissionTicketInfoVO() {
    }

    public AdmissionTicketInfoVO(AdmissionTicketInfo admissionTicketInfo) {
        this.admissionTicketTemplateId = admissionTicketInfo.getAdmissionTicketTemplateId();
        this.admissionTicketTemplateType = admissionTicketInfo.getAdmissionTicketTemplateType();
        this.admissionTicketName = admissionTicketInfo.getAdmissionTicketName();
        this.admissionTicketDataSource = admissionTicketInfo.getAdmissionTicketDataSource();
        this.examId = admissionTicketInfo.getExamId();
        this.examName = admissionTicketInfo.getExamName();
        this.archiveStatus = admissionTicketInfo.getArchiveStatus();
        this.publishStatus = admissionTicketInfo.getPublishStatus();
        this.subjectSetting = admissionTicketInfo.getSubjectSetting();

        super.setId(admissionTicketInfo.getId());
        super.setCreateBy(admissionTicketInfo.getCreateBy());
        super.setCreateDate(admissionTicketInfo.getCreateDate());
        super.setUpdateBy(admissionTicketInfo.getUpdateBy());
        super.setUpdateDate(admissionTicketInfo.getUpdateDate());
    }
}
